---
id: lab-observability-intro
slug: /labs/observability
sidebar_position: 1
---

# Сбор и обработка телеметрии приложений

## Что потребуется перед началом

Убедитесь, что у вас локально установлены:

- [Docker Desktop](https://www.docker.com/products/docker-desktop/). Демонстрационный проект в значительной степени зависит от файлов Dockerfile и Docker Compose.
- [Python 3](https://www.python.org/). Для демонстрации используется веб-приложение на [Flask](https://flask.palletsprojects.com/en/latest/).

## Отчет

Отчет в формате `docx`. Обязательное содержимое отчета:

- Фамилия и инициалы студента, номер группы, номер варианта;
- План и задачи лабораторной работы;
- Краткое описание хода выполнения работы;
- скриншоты результатов заданий и ответы на вопросы задания.

## Задачи работы

В данной работе вам предстоит:

- подготовить приложение на Python к анализу трассировки с помощью [Jaeger](https://www.jaegertracing.io/);
- упаковать приложение в образ Docker и поднимать на его основе контейнер через Docker compose;
- обеспечить приложение механизмами экспортирования телеметрии в [Jaeger](https://www.jaegertracing.io/), [Prometheus](https://prometheus.io/) и [Grafana](https://grafana.com/).
- Самостоятельно выполнить сборку метрик, трассировки и журналов по заданию.

Для демонстрации этапов интеграции OpenTelemetry в Python мы будем использовать простое приложение на фреймворке [Flask](https://flask.palletsprojects.com/en/latest/). Первая версия данного приложения основывается на [официальной документации](https://opentelemetry.io/docs/instrumentation/python/getting-started/).

